10 PRINT "EXAMPLE 11.10 PUMP-RESERVOIR SYSTEM. SUBSCRIPT O REFERS" 20 PRINT "TO SUCTION RESERVOIR AND PUMP LINE TO JUNCTION": PRINT 30 DEF FNHJ (DQ) = Z(0) + A0 + DQ * (A1 + DQ * (A2 + DQ * A3)) - F1 * DQ ^ 2 / LOG(C1 + C2 / DQ ^ .9) ^ 2 40 DEFINT I-J, N: DEF FNQ (D1, D2, D3, DH) = D1 * DH * LOG(D2 + D3 / DH) 'Eq.(5.8.15) 50 READ N, G, KVIS, II, DQQ: DATA 4,9.806,1E-6,20,8. 60 PRINT : PRINT "N, G, KVIS, II, DQQ="; N; G; KVIS; II; DQQ 70 READ A0, A1, A2, A3: DATA 100.,-.2,-.03,-.007 80 PRINT "A0, A1, A2, A3="; A0; A1; A2; A3 90 FOR I = 0 TO N: READ Z(I), L(I), D(I), EP(I) 100 PRINT "I, Z, L, D, EP="; I; Z(I); L(I); D(I); EP(I) 110 C = SQR(G * D(I) / L(I)): E1(I) = -.9650001 * D(I) ^ 2 * C 120 E2(I) = EP(I) / (3.7 * D(I)): E3(I) = 1.784 * KVIS / (D(I) * C): NEXT I 130 F1 = 1.325 * L(0) / (2! * G * .7854 ^ 2 * D(0) ^ 5): C1 = E2(0) 140 C2 = 5.74 * (.7854 * D(0) * KVIS) ^ .9 150 DATA .0,10000.,4.5,.00006,12.,2000.,2.,.00005,18.,2500.,2.5,.00008 160 DATA 23.,1800.,2.2,.00005,25.,2000.,2.3,.00009 170 HJ1 = Z(0) + A0: S = 0! 'SEEING IF THE CHECK VALVE WILL OPEN 180 GOSUB 320 190 IF S > 0! THEN PRINT "CHECK VALVE STAYS CLOSED.USE PROGRAM PROB. 11.60": STOP 200 IF S <= 0! THEN QMIN = 0!: QMAX = 0!: ' QQ ASSUMED FLOW THRU PUMP 210 FOR J = 1 TO II: QQ = J * DQQ: S = QQ: HJ1 = FNHJ(QQ): GOSUB 320 220 IF S < 0! THEN QMIN = QQ ELSE QMAX = QQ: GOTO 240: ' BRACKETS FLOW THRU PUMP 230 NEXT J 240 PRINT "QQ, HJ, S, QMIN, QMAX="; QQ; HJ1; S; QMIN; QMAX 250 FOR J = 1 TO II: Q(0) = .5 * (QMAX + QMIN): S = Q(0): HJ1 = FNHJ(Q(0)) 260 GOSUB 320: IF S < 0! THEN QMIN = Q(0) ELSE QMAX = Q(0) 270 NEXT J 280 PRINT : PRINT "SUM OF Q'S INTO J="; S; " HEAD AT JUNCTION="; HJ1 290 PRINT : PRINT "Q(I)="; 300 FOR I = 0 TO N: PRINT USING " ###.### "; Q(I); : NEXT I: PRINT 310 END 320 FOR I1 = 1 TO N: HF = Z(I1) - HJ1: HFS = SQR(ABS(HF)) 330 Q(I1) = FNQ(E1(I1), E2(I1), E3(I1), HFS) * SGN(HF): S = S + Q(I1): NEXT I1 340 RETURN